// pages/login/login.js
import {
  request
} from '../../utils/request.js';
import {
  setToken,
  setUserId,
  getToken,
  getUserId
} from '../../utils/storage.js';
Page({

  /**
   * 页面的初始数据
   */
  data: {},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log(options.id);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
  // 获取手机号
  // 手机号快捷登录
  handleGetPhoneNumber(e) {
    if (e.detail.errMsg === 'getPhoneNumber:ok') {
      const phoneCode = e.detail.code; // 手机号授权动态令牌（有效期5分钟）
      // 获取微信临时登录凭证 code
      wx.login({
        success(loginRes) {
          if (loginRes.code) {
            const loginCode = loginRes.code; // 登录凭证，用于换取 openid
            // ✅ 用封装的 request 代替 wx.request
            request('/phoneLogin1', {
                phoneCode, // 手机号授权 code
                loginCode // 登录凭证 code
              }, 'POST')
              .then(res => {
                console.log('后端返回：', res);
                // 例如后端返回 { code:200, data:{ token:'xxx', userId:123, openid:'abc' } }
                const resData = res.data || res; // 根对象里有 token 等
                const {
                  token,
                  userId,
                  phoneNumber
                } = resData;
                if (token) {
                  setToken(token);
                  console.log('✅ token 存储成功:', token);
                }
                if (userId) {
                  setUserId(userId);
                  console.log('✅ userId 存储成功:', userId);
                }
                if (phoneNumber) {
                  console.log('📱 手机号:', phoneNumber);
                }
                wx.showToast({
                  title: '登录成功',
                  icon: 'success'
                });
                console.log('存储后的 token:', getToken(), 'userId:', getUserId());
                // 跳转主页或个人中心

                wx.switchTab({
                  url: '/pages/index/index',
                  success: () => {
                    console.log('✅ switchTab 调用成功，已触发跳转');
                  },
                  fail: (err) => {
                    console.error('❌ switchTab 调用失败：', err.errMsg); // 打印具体错误信息
                  }

                });
              })
              .catch(err => {
                console.error('登录失败：', err);
                wx.showToast({
                  title: '登录失败，请重试',
                  icon: 'none'
                });
              });
          } else {
            wx.showToast({
              title: 'wx.login 失败，请重试',
              icon: 'none'
            });
          }
        },
        fail() {
          wx.showToast({
            title: 'wx.login 调用失败',
            icon: 'none'
          });
        }
      });
    } else {
      wx.showToast({
        title: '手机号授权失败',
        icon: 'none'
      });
    }
  }

})